package com.lhz.project.system.model.entity.task;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * @Author: LiHuaZhi
 * @Date: 2021/6/4 21:57
 * @Description:
 **/
@Data
@TableName("sys_task")
public class Task {
    //id
    @TableId("id")
    private String id;

    //任务名
    private String name;

    /*
        目标字符串
        格式bean.method(params)
        String字符串类型，包含'、boolean布尔类型，等于true或者false
        long长整形，包含L、double浮点类型，包含D、其他类型归类为整形
        aa.aa('String',100L,20.20D)
     */
    private String invokeTarget;

    /**
     * 任务所需的参数，格式为json，每个任务方法中自行解析
     */
    @Schema(description = "目标字符串")
    private String invokeParams;
    //cron表达式
    private String cronExpression;

    //执行策略(1手动，2-自动）
    private Integer policy;

    //状态（0正常 1暂停）
    private Integer status;
    /**
     * 删除标志（0-存在，1-删除）
     */
    private Integer delFlag;

    //执行情况(1-执行中,2-已暂停)
    private Integer situation;

    //执行版本(每执行一次加一)
    private Integer version;

    //下次执行时间
    private LocalDateTime nextRunTime;

    private String createBy;

    private LocalDateTime createTime;

    private String updateBy;

    private LocalDateTime updateTime;

    //备注
    private String remark;
}
